package com.indusfo.spc.service;

import com.indusfo.spc.pojo.MaintainPlan;
import com.indusfo.spc.pojo.MaintainPlanDetail;
import com.indusfo.spc.pojo.MaintainWork;
import com.indusfo.spc.pojo.MaintainWorkDetail;
import com.indusfo.spc.vo.JSONObject;

/**
 * @ClassName MaintainWorkService
 * @Description 设备保养作业service
 * @Author louk
 * @Date 2019/12/11 14:55
 * @Version 1.0
 */
public interface MaintainWorkService {
    /**
     * 新增设备保养作业
     * @param maintainWork
     * @return
     */
    JSONObject insertMaintainWork(MaintainWork maintainWork, Integer[] maintainIds,Integer[] qualifiedIds);

    /**
     * 查询设备保养作业
     * @param maintainWorkDetail
     * @return
     */
    JSONObject queryMaintainWorkDetail(MaintainWorkDetail maintainWorkDetail);

    /**
     * 编辑设备保养作业
     * @param maintainWork
     * @return
     */
    JSONObject updateMaintainWorkTain(MaintainWork maintainWork, Integer[] maintainIds,Integer[] qualifiedIds);

    /**
     * 审核状态修改
     * @param maintainWorkIds
     * @param auditState
     * @return
     */
    JSONObject auditStateChange(Integer[] maintainWorkIds, Integer auditState,Integer[] auditStateIds);

    /**
     * 查询设备保养作业
     * @param maintainWork
     * @return
     */
    JSONObject queryMaintainWork(MaintainWork maintainWork,String startDate,String endDate);

    /**
     * 数据状态修改
     * @param maintainWorkIds
     * @param dataState
     * @return
     */
    JSONObject defineDataState(Integer[] maintainWorkIds,Integer dataState,Integer[] auditState);

    /**
     * 设备保养作业
     * @param maintainWork
     * @return
     */
    JSONObject filterMaintainList(MaintainWork maintainWork,Integer[] maintainIds);

    /**
     * 新增时的初次查询
     * @param maintainWork
     * @return
     */
    JSONObject queryMaintainByMaintainWork(MaintainWork maintainWork);
}
